package com.efast.cafe.portal.dao.api;

import java.util.List;


import org.apache.ibatis.annotations.Param;

/**
 * <p>
 * 接口
 * </p>
 * <p>
 * Table: portal_api_mod_service_def - 模块和服务关系定义
 * </p>
 *
 * @since ${.now}
 */

public interface PortalApiModServiceDefDao {

	/**
	 * 新增一个模块服务关系
	 * 
	 * @param moduleId
	 * @param serviceId
	 * @param createUser
	 * @Author Administrator
	 * @Date 2017年8月12日
	 *
	 */
	public void insertApiModuleServiceDef(@Param(value="moduleId")Integer moduleId, @Param(value="serviceId")Integer serviceId, @Param(value="createUser")String createUser);

	/**
	 * 新增一个模块与服务列表的关系
	 * 
	 * @param moduleId
	 * @param serviceIds
	 * @param user
	 * @return void
	 * @Author Administrator
	 * @Date 2017年8月15日
	 */
	public void insertApiModuleServiceListDefs(@Param("moduleId") Integer moduleId,
			@Param("serviceIds") List<Integer> serviceIds, @Param("user")String user);

	/**
	 * 查询模块下有效的service数量
	 * 
	 * @param moduleId
	 * @return
	 * @Author Administrator
	 * @Date 2017年8月12日
	 *
	 */
	public int serviceCountByModuleId(@Param(value="moduleId")Integer moduleId);
	
	/**
	 * 发布
	 * @Date        :      2017年8月14日
	 * @param projectId
	 * @param systemList
	 * @param createUser
	 * @return
	 */
	public int publishApiModuleServiceDef(@Param(value="moduleId")Integer moduleId,@Param(value="servIds")List<Integer> servIds,@Param(value="createUser")String createUser);
	
	/**
	 * 升版模块的时候，构建升版模块与之前模块的服务的关系
	 * @Date        :      2017年8月16日
	 * @param newModuleId
	 * @param oleModuleId
	 * @param createUser
	 * @return
	 */
	public int upgradeApiModuleServiceDef(@Param(value="newModuleId")Integer newModuleId,@Param(value="oleModuleId")Integer oleModuleId,@Param(value="createUser")String createUser);
	
}